1. Field of the Invention
The present invention relates to a rendering apparatus and a rendering method for effectively processing a common rendering object included in an electronic document, and a computer-readable storage medium.
2. Description of the Related Art
With the development of digital printing, variable data printing capitalizing on the features of such digital printing has attracted widespread attention. Variable data printing is a printing method of setting part of print data as variable data and changing the variable data for each sheet, and can make full use of the capabilities of digital printers for printing, for example, electrophotographs. In the variable data printing, although various VDP languages are used, the standardization of VDP languages has been achieved. PPML has been defined as a standard VDP language and the increasingly widespread use of PPML is expected. In PPML, elements used for page rendering include a reusable object assumed to be repeatedly used and a local object assumed to be used only once. The reusable object is used in a case that the same image is rendered on a plurality of portions using the same source rendering data regardless of whether these portions are included in the same page or different pages, or whether the printing of the image on these portions is instructed by different jobs. In the case of rendering objects such as the local object and the reusable object, PostScript® data or PDF data is used as source rendering data. The source rendering data is subjected to RIP processing to generate a raster image and the generated raster image is placed on a page. If it is certain that source rendering data will be reused like a PPML reusable object, a raster image obtained by performing RIP processing upon the source rendering data is cached. This achieves very high-speed rendering processing. However, if the raster image is a high-resolution and high-gradation color image, the data volume of the raster image becomes extremely large. Large amounts of memory are therefore required. Accordingly, a method of generating intermediate data from source rendering data prior to conversion of the source rendering data into a raster image and caching the intermediate data can be considered. This method requires time necessary to perform RIP processing, but can markedly reduce the amount of memory required for caching. Accordingly, the method is a compromise balancing the amount of memory and performance.
There is a PDL (Page Description Language) having a concept of a “form” similar to the above-described concept. However, it is relatively difficult to generate a form to be reused in a plurality of portions using PDL generation software such as a general printer driver. Detecting of a commonality between rendering objects at the time of first data scanning and generating of PDL data at the time of second data scanning are required. That is, a two-path configuration is required. Alternatively, a method of detecting in an application a commonality between rendering objects or a method of making user specify a commonality between rendering objects can be considered. On the other hand, in VDP, a commonality between pieces of rendering data is generally specified using a dedicated editing application. Accordingly, print data such as reusable object data or common form data having optimal characteristics for VDP can be easily generated. It is therefore desirable that a specialized application for VDP and a printer capable of processing a VDP language such as PPML be used together.
A preflight technique for checking a VDP document described in, for example, PPML is disclosed in which a background object serving as a common object and a foreground object unique to each page are extracted from the VDP document and overlapping of these objects at the time of printing is checked (Japanese Patent Laid-Open No. 2006-172203).
As described previously, by caching raster image data obtained by performing RIP processing upon a reusable object, the RIP processing time can be markedly reduced. However, even if RIPped raster image data is cached, correct rendering may not be performed. In the case of PPML, a plurality of rendering objects including a reusable object are allowed to overlap each other. In an area where these rendering objects overlap, if there is a part of the area in which a foreground rendering object is not rendered, a background object is required to remain in the part of the area. However, in the case of simple raster image data, an area in which rendering is performed using a rendering object cannot be distinguished from an area in which rendering is not performed. Raster image data is composed of pieces of gradation information about the color density or luminance of pixels. Accordingly, it is impossible to specify whether to paint each pixel.
The detailed description will be made with reference to FIGS. 8A and 8B. In a background page 3801, a text object 3804 is placed. In a foreground page 3802, a graphic object 3805 having a bounding box surrounded by a broken line is placed. An image 3803 represents an expected combination result. Referring to FIG. 8B, an image 3809 represents the result of simple combination in which the background portion of the graphic object is painted white. An image 3810 represents an image obtained by rendering the graphic object and binarizing the rendered graphic image. At this point, a portion to be painted white and a portion not to be painted are not distinguished from each other. Accordingly, if these objects are simply combined, the background portion of the graphic object is painted white.